<template>
  <!--

    订单状态

INIT：初始化，
WAIT_PAYMENT：待支付，
WAIT_PROCESS：待接单，
PURCHASING：订购中，
PURCHASED：已订购，
SELLER_SENT：已发货-这个值后端已弃用，
WAIT_STOCK_IN：待入库(已发货国内)，
STORED：已入库（重要：仓库需要验货、拍照。列表过滤），
WAIT_SENT_OVERSEA：待寄送海外，
SHIPPED：已寄送（海外），
CANCELLED：取消订购，
WAITING_FOR_RETURN: 退货中
RETURNED：退货完成，
COMPLETED：履约完成
REFUNDED: 已退回

  -->
  <div class="status">
    <div class="info">
      <span class="text">{{ statusObj[status] ? $t(statusObj[status].text) : statusName }}</span>
      <Tooltip transfer max-width="200" placement="top">
        <div class="tooltip-text" slot="content">{{ tooltipContent }}</div>
        <Icon class="icon" type="ios-help-circle-outline" />
      </Tooltip>
    </div>
  </div>
</template>

<script>
export default {
  props: {
    status: String,
    statusName: String,
    subStatus: String,
    orderNo: String
  },
  name: "order-status",
  data() {
    return {
      // statusObj: {
      //   WAIT_PAYMENT: 'user.orderSubmitted',
      //   WAIT_PROCESS: 'user.waitTraderAcceptOrder',
      //   PURCHASING: 'user.traderBuying',
      //   PURCHASED: 'user.goodsPurchasedGoods',
      //   SELLER_SENT: 'user.goodsBeenShipped',
      //   STORED: 'user.confirmedGoods',
      //   SENT_OVERSEA: 'user.goodsSendOverseas',
      //   WITHDRAWN: 'user.beforePurchasingOrders',
      //   RETURNED: 'user.goodsReturnCompleted',
      //   COMPLETED: 'user.orderTransactionCompleted',
      //   WAIT_STOCK: 'user.arrivedWarehouse',
      //   WAIT_STOCK_IN: 'user.arrivedWarehouse',
      // },
      statusObj: {
        INIT: {
          text: 'user.init',//待提交
          tip: 'user.init'
        },
        WAIT_PAYMENT: {
          text: 'user.awaitingPayment',//待支付
          tip: 'user.orderSubmitted'
        },
        WAIT_PROCESS: {
          text: 'user.awaitingOrder',//待接单
          tip: 'user.waitTraderAcceptOrder'
        },
        PURCHASING: {
          text: 'user.ordering',//订购中
          tip: 'user.traderBuying'
        },
        CLEAR_BALANCE: {
          text: 'user.clearBalance',//待补款
          tip: 'user.clearBalanceTip'
        },
        PURCHASED: {
          text: 'user.onOrder',//已订购
          tip: 'user.goodsPurchasedGoods'
        },
        // SELLER_SENT: {
        //   text: 'user.orderShipped',//已发货-这个值后端已弃用
        //   tip: 'user.goodsBeenShipped'
        // },
        WAIT_STOCK_IN: {
          text: 'user.waitingWarehousing',//待入库(已发货国内)
          tip: 'user.tip_desc_text'
        },
        SIGNED: {
          text: 'user.sign_text',//已签收
          tip: 'user.sign_tip'
        },
        STORED: {
          text: 'user.beStorage',//已入库
          tip: 'user.confirmedGoods'
        },
        RETURNING_GOODS: {
          text: 'user.return_ing_text',//退货中
          tip: 'user.return_ing_tip'
        },
        WAIT_SUBMIT_PARCEl: {
          text: 'user.wait_init_text',//待提交包裹（运单）
          tip: 'user.wait_init_tip'
        },
        WAIT_PICKING: {
          text: 'user.pack_text',//待拣货
          tip: 'user.pack_tip'
        },
        WAIT_CONFIRM: {
          text: 'user.wait_confirm_text',//待确认
          tip: 'user.wait_confirm_tip'
        },
        WAIT_SENT_OVERSEA: {
          text: 'user.pickupPending',//待仓库发货、待揽收
          tip: 'user.pickupPendingTip'
        },
        SHIPPED: {
          text: 'user.shippedInternational',//已寄送（海外）、已发货（国际）
          tip: 'user.shippedInternationalTip'
        },
        CANCELLED: {
          // text: 'user.cancelled',
          text: 'user.canceled_text',//已取消
          tip: 'user.cancelledTip'
        },
        RETURNED: {
          text: 'user.returnCompleted',//已退货
          tip: 'user.goodsReturnCompleted'
        },
        REFUNDED: {
          text: 'user.refunded_text',//已退款
          tip: 'user.refunded_tips'
        },
        COMPLETED: {
          text: 'user.completed',//已完成
          tip: 'user.orderTransactionCompleted'
        },
        RELINQUISHED_GOODS: {
          text: 'user.discard_text',//已弃件
          tip: 'user.discard_tip'
        }
      },
      sepStatusObj: {
        // 待支付
        WAIT_PAYMENT: {
          tip: 'user.orderSubmitted'
        },
        // 支付成功
        PAYMENT_SUCCEEDED: {
          tip: 'user.waitTraderAcceptOrder'
        },
        // 用户手动取消
        USER_CANCELLED: {
          tip: 'user.cancel_handle_tip'
        },
        // 管理后台取消
        // ADMIN_CANCELLED: {
        //   tip: ''
        // },
        // 超时取消
        OVERTIME_CANCELLED: {
          tip: 'user.time_out_tip'
        },
        // 已退货退款
        REFUNDED: {
          tip: 'user.refund_fee_tip'
        },
        // 客服拒单
        REFUSAL_PURCHASE: {
          tip: 'user.service_reject_tip'
        },
        // 发起商品/运费补款
        CLEAR_BALANCE: {
          tip: 'user.initiate_text_tip'
        },
        // 订购中
        PURCHASING: {
          tip: 'user.traderBuying'
        },
        // 订购完成（三方单号填写完成）
        PURCHASED: {
          tip: `'user.ordering_end_tip',{orderNo: this.orderNo}`
        },
        // 待入库
        WAIT_STOCK_IN: {
          tip: 'user.tip_desc_text'
        },
        // 部分签收
        // PART_SIGNED: {
        //   tip: ''
        // },
        // 已签收
        // SIGNED: {
        //   tip: 'user.sign_tip'
        // },
        // 商品质检/异常
        // PRODUCT_QI: {
        //   tip: ''
        // },
        // 商品qc/异常
        // PRODUCT_QC: {
        //   tip: ''
        // },
        // 商品上架
        PRODUCT_ON_SHELVES: {
          tip: 'user.up_text_tip'
        },
        // 取消运单
        WAYBILL_CANCELLED: {
          tip: 'user.up_text_tip'
        },
        // 寄存超时弃件(寄存99天)
        STORAGE_OVERTIME: {
          tip: 'user.discard_tip'
        },
        // 待提交包裹（运单
        WAIT_SUBMIT_PARCEl: {
          tip: 'user.wait_init_tip'
        },
        // 待支付包裹（运单）
        WAIT_PAY_PARCEl: {
          tip: 'user.wait_init_tip'
        },
        // 打印拣货单(对应待拣货)
        PRINT_PACK_ORDER: {
          tip: 'user.pack_tip'
        },
        // 商品下架
        // PRODUCT_REMOVED_SHELVES: {
        //   tip: ''
        // },
        // 称重计费
        // WEIGHING_AND_BILLING: {
        //   tip: ''
        // },
        // 退货中
        RETURNING_GOODS: {
          tip: 'user.return_ing_tip'
        },
        // 待支付实际运费
        WAIT_PAY_SHIPPING_FEE: {
          tip: 'user.wait_confirm_tip'
        },
        // 运单待出库
        // WAYBILL_WAIT_OUT_STOCK: {
        //   tip: ''
        // },
        // 包裹已寄出
        // SHIPPED: {
        //   tip: ''
        // },
        // 用户收货
        USER_RECEIVED: {
          tip: 'user.receipt_text_tip'
        },
        // 强制完成（国际物流轨迹产生25天后）
        // OVERTIME_FORCE_SIGNED: {
        //   tip: ''
        // }
      },
      // statusList: [
      //   {
      //     status: 'INIT',
      //     text: 'user.waitingSubmit',
      //     tag: 'user.waitingSubmit'
      //   },
      //   {
      //     status: 'WAIT_PACK',
      //     text: 'user.waitingPacking',
      //     tag: 'user.waitingPacking'
      //   },
      //   {
      //     status: 'WAIT_CONFIRM',
      //     text: 'user.waitConfirmation',
      //     tag: 'user.waitConfirmation'
      //   },
      //   {
      //     status: 'WAIT_PAYMENT',
      //     text: 'user.waitPayment',
      //     tag: 'user.orderSubmitted'
      //   },
      //   {
      //     status: 'WAIT_PROCESS',
      //     text: 'user.waitOrder',
      //     tag: 'user.waitTraderAcceptOrder'
      //   },
      //   {
      //     status: 'SHIPPED',
      //     text: 'user.shipped',
      //     tag: 'user.shipped'
      //   },
      //   {
      //     status: 'WAIT_SENT_OVERSEA',
      //     text: 'user.awaitSendOverseas',
      //     tag: 'user.awaitSendOverseas'
      //   },
      //   {
      //     status: 'WAIT_SHIPPING',
      //     text: 'user.waitDelivery',
      //     tag: 'user.waitDelivery'
      //   },
      //   {
      //     status: 'PURCHASING',
      //     text: 'user.ordering',
      //     tag: 'user.traderBuying'
      //   },
      //   {
      //     status: 'PURCHASED',
      //     text: 'user.onOrder',
      //     tag: 'user.goodsPurchasedGoods'
      //   },
      //   {
      //     status: 'SELLER_SENT',
      //     text: 'user.shipped',
      //     tag: 'user.goodsBeenShipped'
      //   },
      //   {
      //     status: 'WAIT_STOCK',
      //     text: 'user.waitingWarehousing',
      //     tag: 'user.arrivedWarehouse'
      //   },
      //   {
      //     status: 'STORED',
      //     text: 'user.beStorage', // 重要：仓库需要验货、拍照。列表过滤
      //     tag: 'user.confirmedGoods'
      //   },
      //   {
      //     status: 'SENT_OVERSEA',
      //     text: 'user.sendOverseas',
      //     tag: 'user.goodsSendOverseas'
      //   },
      //   {
      //     status: 'WITHDRAWN',
      //     text: 'user.cancelOnOrder',
      //     tag: 'user.beforePurchasingOrders'
      //   },
      //   {
      //     status: 'RETURNED',
      //     text: 'user.returnCompleted',
      //     tag: 'user.goodsReturnCompleted'
      //   },
      //   {
      //     status: 'CANCELED',
      //     text: 'user.cancellationWaybill',
      //     tag: 'user.cancellationWaybill'
      //   },
      //   {
      //     status: 'COMPLETED',
      //     text: 'user.completionPerformance',
      //     tag: 'user.orderTransactionCompleted'
      //   },
      //   {
      //     status: 'WAIT_STOCK_IN',
      //     text: 'user.waitingWarehousing',
      //     tag: 'user.arrivedWarehouse'
      //   },
      //   {
      //     status: 'CANCELLED',
      //     text: 'user.cancelled',
      //     tag: 'user.cancelled'
      //   },
      //   {
      //     status: 'RETURNING_GOODS',
      //     text: 'user.RETURNING_GOODS',
      //     tag: 'user.RETURNING_GOODS'
      //   },
      //   {
      //     status: 'REFUNDED',
      //     text: 'user.returned', // 已退回
      //     tag: 'user.returned'
      //   }
      // ]
    }
  },
  computed: {
    tooltipContent() {
      if (this.status === 'CANCELLED' || this.status === 'WAIT_STOCK_IN' || this.status === 'SIGNED' || this.status === 'STORED' || this.status === 'WAIT_SUBMIT_PARCEl' || this.status === 'WAIT_PICKING' || this.status === 'WAIT_SENT_OVERSEA' || this.status === 'RETURNING_GOODS') {
        return this.sepStatusObj[this.subStatus] ? this.$t(this.sepStatusObj[this.subStatus].tip) : this.$t(this.statusObj[this.status].tip);
      } else {
        return this.statusObj[this.status] ? this.$t(this.statusObj[this.status].tip) : this.statusName;
      }
    }
  }
}
</script>

<style scoped lang="less">
.status {
  display: flex;
  justify-content: center;
  align-items: center;

  .icon {
    cursor: pointer;
  }

  .text {
    // font-weight: 600;
  }
}

.tooltip-text {
  font-size: 14px;
}
</style>